![]() |
![]() |
![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
To access the contents, click the chapter and section titles.
Oracle Performance Tuning and Optimization
Part V
|
Chapter | 33 | What Affects Client Performance? |
34 | Tuning the Client System | |
35 | Using GUI Builders | |
36 | Using Middleware Products |
In Part IV of this book, you saw how poorly tuned SQL statements can cause inefficient processing and optimization. You learned how to determine whether your SQL statements are performing unnecessary functions and causing unwanted data to be returned to your client system. You learned how to use Oracle tools such as SQL Trace and EXPLAIN PLAN to determine whether your SQL statements are inefficient. You also looked at how to take advantage of the Oracle optimizer and how to use procedures and packages to best utilize the shared SQL area of the shared pool. Finally, you looked at some products available to help you debug and optimize SQL statements.
Part V complements Part IV by looking at specific ways to tune the client system. The chapters begin by looking at what a client system is and how two-tiered architectures differ from three-tiered architectures. You learn that a client machine may be more than you are used to thinking it is and discover how to take advantage of the power of the client machine.
You will learn to determine whether a problem exists within the client machine itself and how to solve the problem if you find one. You will look at what affects the performance of the client system and how to reduce bottlenecks. You also examine some specific client operating systems such as Microsoft Windows, Microsoft Windows NT, and UNIX.
Several GUI (Graphical User Interface) application design tools (such as PowerBuilder, SQLWindows, and Oracle Power Objects) are introduced; you determine ways to optimize the applications you can build with these tools. Finally, you look at some other options for optimizing the database clients, such as the use of a Transaction Monitor (TM).
When you finish this part of the book, you should be able to determine whether the client is causing a bottleneck in the system and how you can tune the client. You should also be able to take applications built by GUI application builders and tune them for optimal performance. If you tune the client, the SQL statements, and the server for optimal performance, you will have a finely tuned system that has been optimized for your particular configuration and application.
This chapter examines the things that affect the performance of the client machine and explains how to optimize the client. During the last few years, the definition of what a client machine is has changed. The first thing this chapter does is define what is meant by the client.
Originally, application development tools did nothing more than create queries and display them. The tools have changed for the better. Now, these tools create applications that can take advantage of the power of the client, offload CPU processing from the server, and add functionality such as video processing, compression, and presentation services.
Once you define what the client is, you can start to see ways you can optimize performance. The client system, in the traditional sense, is changing. What we have traditionally called the client is evolving into a sophisticated database query-and-presentation tool.
To define what a client is, it may help to look at the evolution of computing over the last few years. By looking at where we came from and where we are today, it may be easier to see where we will be going in the future.
The following sections start out by examining the traditional computing model, which began with the development of computing as we know it. Following that is a discussion of the emergence of network computing, which led to what I call GUI/server computing. This evolution led to what we know today as client/server computing. (The way I define client/server computing may be slightly different from the way you traditionally see it.)
When computers were first developed, the only way to input data was with keypunch cards. This approach was extremely painful and the industry quickly evolved to timesharing systems and the use of terminals (see Figure 33.1). The terminal model was quite effective and dominated the industry for quite some time; it is still an extremely popular way to do computing.
Figure 33.1 The traditional, terminal-based computing model.
Terminal-based computing saw the introduction of many innovations that allowed for ease of use in applications:
These innovations really improved the usability of applications and allowed difficult tasks to be simplified. The main benefit of terminal-based applications was their ability to run on a number of different platforms and terminals. Even today, it is sometimes difficult to run an application built for one type of computer or operating system on a different type of computer.
Many of these innovations have been carried forward into what most of us view as more modern applications: the kinds of applications we are used to seeing today.
The next step in the evolution of computing came when networks became a large part of the industry. Many applications stayed very much as they were with terminal-based computing, but allowed access through a computer network (see Figure 33.2). Although these applications allowed remote users to log in to the host computer and run the application, the application itself was still terminal or character based.
Figure 33.2 The network computing model.
The users accessing the application were connected through a terminal to a host machine (or perhaps to a workstation or PC on the network running DOS or Windows). In this step of the evolutionary process, the user was separated from the direct connect. The application remained unchanged and no major improvements occurred.
Previous | Table of Contents | Next |
![]() |
Products | Contact Us | About Us | Privacy | Ad Info | Home
Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc. All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited. |